
#include <iostream>

class CBase
{
public:
    CBase()
    {
        std::cout << __FUNCTION__ << std::endl;
    }

    ~CBase()
    {
        std::cout << __FUNCTION__ << std::endl;
    }

    int32_t Init()
    {
        std::cout << __FUNCTION__ << std::endl;
        return 0;
    }
};


class CDerived : public CBase
{
public:
    CDerived()
    {
        std::cout << __FUNCTION__ << std::endl;
    }

    using CBase::Init;
};

int main(int argc, char** argv)
{
    CDerived objDerived;

    return 0;
}